package com.func.domain.strategy.service.rule.tree;

import com.func.domain.strategy.service.rule.tree.factory.DefaultTreeFactory;

import java.util.Date;

/**
 * @version 1.0
 * @className ILogicTreeNode
 * @description 规则树节点规则
 * @author: func
 * @date 2025/2/28 21:05
 */


public interface ILogicTreeNode {
    /**
     * 当前节点执行对于抽奖的结果的过滤, 并返回这里是放行还是接管的Action类
     *
     * @param userId
     * @param strategyId
     * @param awardId     前面抽奖得到的奖品Id
     * @param ruleValue
     * @param endDateTime
     * @return
     */
    DefaultTreeFactory.TreeActionEntity logic(String userId, Long strategyId, Integer awardId, String ruleValue, Date endDateTime);
}
